In recent years, the HSUPA (High Speed Uplink Packet Access) system defined in 3GPP (3rd Generation Partnership Project) is becoming widespread with the aim of increasing the transmission rate on an uplink channel from a radio terminal (mobile terminal) to a radio base station apparatus (Node-B) (e.g., see JP 2007-519363A, JP 2006-314086A, and Japanese Patent No. 3926354). With this HSUPA scheme, an E-DCH (Enhanced DCH) allocated separately to each of a plurality of radio terminals is provided in addition to a DCH (Dedicated Channel) allocated separately to each of the plurality of radio terminals. Increased transmission rates and enhanced throughput on uplink channels is realized by using this E-DCH.
Here, a decoding unit and a scheduling unit are provided in the above radio base station apparatus in order to decode encoded user data transmitted from a radio terminal using the above DCH or the above E-DCH. The decoding unit (processing apparatus) is constituted by a turbo decoder that performs soft-decision decoding using a MAP (Maximum a-posteriori Probability) algorithm, for example. The decoding unit thus has the function of performing error detection on a decoding result of the decoding process, and outputting the decoding result if an error is not detected in the decoding result, and feeding back the decoding result and repeating the decoding process again if an error is detected in the decoding result. That is, if an error is detected in the decoding result, the decoding unit repeats the decoding process on the user data to be processed (processing target data) up to a maximum number of repetitions.
The scheduling unit (scheduling apparatus) generates a schedule for the decoding unit by allocating a maximum scheduled processing time for which the decoding unit is able to perform the decoding process on the user data. Note that the maximum scheduled processing time is determined based on the maximum number of repetitions for which the decoding unit is able to repeatedly perform the decoding process and the maximum amount of data on which the decoding unit is able to perform the decoding process. Here, the case where the scheduling unit generates a schedule for the decoding unit for user data transmitted from a radio terminal using the above DCH (hereinafter, referred to as DCH data) and for user data transmitted from a radio terminal using the above E-DCH (hereinafter, referred to as EDCH data) will now be described.
Specifically, the scheduling unit generates a schedule for the decoding unit so as to prioritize the decoding process of EDCH data, whose decoding result needs to be notified to the radio terminal, over the decoding process of DCH data, whose decoding result does not need to be notified to the radio terminal. That is, the scheduling unit generates a schedule for the decoding unit so that the decoding process by the decoding unit is performed from the EDCH data. According to the specifications defined in 3GPP, the decoding process of EDCH data by the decoding unit is to be performed every TTI (Transport Time Interval) of an E-DCH. The scheduling unit thus generates a schedule for the decoding unit so that the decoding process of DCH data is performed between the decoding processes of EDCH data by the decoding unit. Note that, here, the TTI of an E-DCH is 2msec.
FIG. 10 illustrates an exemplary schedule for the decoding unit generated by the scheduling unit. As illustrated in FIG. 10, the scheduling unit generates a schedule for the decoding unit so that the decoding process by the decoding unit is performed from the EDCH data Ue. Specifically, the scheduling unit generates a schedule for the decoding unit so that the decoding process by the decoding unit is performed alternately on the EDCH data Ue and the DCH data Ud every 1msec. The decoding unit is thereby able to perform the decoding process on the DCH data Ud and the EDCH data Ue in accordance with the schedule illustrated in FIG. 10. Note that, in FIG. 10, the maximum scheduled processing time for DCH data Ud is 5msec. Also, the maximum scheduled processing time for EDCH data Ue is 5msec. That is, the scheduling unit has allocated a maximum scheduled processing time of 5msec for DCH data Ud and a maximum scheduled processing time of 5msec for EDCH data Ue to the decoding unit.
FIG. 11 illustrates an exemplary processing time actually required for the decoding unit to perform the decoding process on the DCH data Ud and the EDCH data Ue, in the case where the decoding unit has performed the decoding process on the DCH data Ud and the EDCH data Ue in accordance with the schedule illustrated in FIG. 10. As illustrated in FIG. 11, the processing time actually required for the decoding unit to perform the decoding process on the DCH data Ud is 1.8msec+1.2msec+0.3msec=3.3msec. That is, decoding of the DCH data Ud ends within the maximum scheduled processing time of 5msec for DCH data Ud allocated to the decoding unit. The processing time actually required for the decoding unit to perform the decoding process on the EDCH data Ue is 0.2msec+0.8msec+1msec+0.2msec+0.3msec=2.5msec. That is, decoding of the EDCH data Ue ends within the maximum scheduled processing time of 5msec for EDCH data Ue allocated to the decoding unit.
That is, since the scheduling unit determines the maximum scheduled processing time based on the maximum number of repetitions for which the decoding unit is able to repeatedly perform the decoding process and the maximum amount of data on which the decoding unit is able to perform the decoding process, the decoding unit will, in the majority of cases, finish the decoding process within the maximum scheduled processing time. Thus, while the decoding unit has been reserved (secured) by the scheduling unit, the decoding unit does not perform any processing for the time (i.e., Ta+Tb+Tc) that there is no DCH data Ud or EDCH data Ue for the decoding unit to decode. Here, Ta+Tb+Tc=0.7msec+1.8msec+1.7msec=4.2msec. In other words, with a schedule generated by the above scheduling unit, the decoding unit cannot be operated efficiently, since the decoding unit does not perform any processing for a given period of time (4.2msec in FIG. 11).